草庐IT

sql - MySQL -> RESTful API

全部标签

sql - 将子节点的文本连接成一列

我正在使用一个返回属性信息的API。一些文本信息跨子节点存储,我想将其连接成单个字符串(VARCHAR)。我的过程是通过网络服务获取xml,然后将其传递给一个proc,该proc提取xml值并将它们插入到View中,这是我要返回的xml的片段:nicegardenitsmellsabitbodyunderthepatio...这是对如何查询xml以从中提取值的一瞥:INSERTINTOVProperty(PropertyId,Description)SELECTP.value('@propertyid','INT'),NULL--extractallthebullettextvalue

xml - 在复杂的 PL/SQL 中使用 Oracle XMLElement

使用Oracle10gR2,我需要从存储在标准关系表中的数据生成类似于以下伪示例的内容。p11005055问题是,我需要使用包含数据的行进行决策。我的数据库(我继承的)设计不佳,决定包含行所需的逻辑很复杂。不幸的是,重新设计数据库不是一种选择。我在这里大大简化了逻辑,因此不能使用简单的连接或where子句。数据和数据格式定义具有复杂的层次结构。在伪代码中,过于简化的决定看起来像这样:BEGIN--selectourbasicattributesselectXMLEMENT("product",XMLELEMENT("productName",name),XMLELEMENT("prod

xml - 为什么 ">"可以作为 XML 文件的值,但 "<"却不行?

这是一个XML文件的例子:thisiswellformattedxml"/>这可以在MSXML和ApacheXerces中成功加载。这将失败。我认为大于号和小于号在XML文件中都是非法的,当它们不被用作标记分隔符时。但是上面的例子显示大于号是可以的。任何人都可以解释或提供有关此文档的链接吗?谢谢。 最佳答案 只有字符“大于字符是合法的,但是替换它是一个好习惯。EntityReferencesSomecharactershaveaspecialmeaninginXML.Ifyouplaceacharacterlike"ifsalary

sql-server - 从 XML 中选择元素

鉴于以下情况:declare@samplexmlasxmlset@samplexml='test'select@samplexml.value('/root[1]','nvarchar(max)')我得到结果:test但我想要结果:test如何选择实际的XML元素?我也试过:select@samplexml.value('/root[1]','XML')但我收到错误Thedatatype'XML'usedintheVALUEmethodisinvalid.. 最佳答案 只需使用.query()方法代替.value():SELECT@

sql-server - 在 SQL Server 2008 中从 xml 数据类型转换为 nvarchar 时,Unicode 文本被损坏?

在我们的数据库中,有关翻译的信息存储在XML列中,我们使用xml数据类型的.value()函数提取它。我们使用nvarchar(100)作为目标数据类型,但转换后值会损坏。示例代码如下:DECLARE@xXmlSET@x='ProbennameTipodaAmostraВидпробыTestaĵnomo'SELECTTR.lentry.value('@Lang','varchar(2)')ASLang,TR.lentry.value('.','nvarchar(100)')ASTextFROM@x.nodes('/TRANSLATIONS/TRANSLATION')ASTR(lent

sql - 修改(替换)条件的 XML

我想替换元素标签中的值,具体取决于它的值,以及另一个元素的值(与所述元素在同一级别),两个元素都在同一个父元素标签内(每个父元素标签是唯一的,因为它有自己的ID属性)。我想在存储过程中对此XML变量的不同位置进行更改。作为这方面的初学者,我对如何修改整个xml中的元素感到困惑。这两个元素都出现在整个文档中的同一个父元素中,并且这些父标签中的每一个都具有唯一的ID属性。任何建议都会有很大帮助。有关如何混合和匹配“value()”、“modify()”等的文档的链接也会有所帮助。DECLARE@xmlxml='AAAAFloatn0BBBBIntegern0KKKKCCCCFloatn0A

sql-server - XML 解析和 T-SQL

给定表中XML字段的以下内容:1234SMITHKEVIN123412CASE34我如何获取Person/PersonID、LastName、Firstname信息?CaseNumber也是如此。我的下一个问题与上面类似,但让我们添加第二个命名空间:Contentinhere!!Empty请注意,我在那里有2个命名空间,它们也有“:xsi”和“:xsd”。我认为这些被称为模式。 最佳答案 试试这个:DECLARE@tableTABLE(IDINTNOTNULL,XmlContentXML)INSERTINTO@tableVALUES

sql-server - SSIS 使用过多内存将大型 (40GB+) XML 文件加载到 SQL Server 表中

我需要使用SSIS将一个大型(40GB+)XML文件加载到SQLServer2012数据库表中。我遇到问题是因为SSIS似乎试图将整个文档加载到内存中而不是流式传输它。这是我的SSIS包的更多详细信息。我创建了一个具有以下属性的XML源:数据访问模式:来自变量的XML文件(但可以是XML文件位置)变量名:指定我电脑中XML文件路径的变量。XSD位置:定义正在读取的XML的XSD的路径。XML结构简单,只有3个层级:带有标题信息的根元素一级定义对象集合定义单个对象的叶级别(每个对象都有一组固定的字段)我需要为每个叶元素插入一个数据库记录,从更高层次重复字段。换句话说,我需要展平XML层次

sql-server - 将 XML 节点转换为 SQL Server 中的行

考虑以下示例:declare@somexmlasxmlset@somexml='12345'上面的XML有一些ID值,我需要将它们转换为可在临时表中用于执行连接的数据行。我不太明白语法是否正确,我已经尝试了一些遇到的示例:SELECTT.r.value('.','int')asidFROM@somexml.nodes('/Settings/Users')T(r)返回:|ID||------||12345|以下内容:SELECTT.r.query('.')asidfrom@somexml.nodes('/Settings/Users/ID')asT(r)返回:|ID||---------

xml - @select with if 和 nested <xsl :choice>? 的区别

以下两个变量定义的行为应该有所不同是否有原因?第一个定义使用XPath2和if声明:第二个定义使用达到相同的结果(或者我认为如此):然而,当$content时,这两种技术会导致两种不同的结果。输出使用在第一种情况下,所有内容都被正确复制(即保留所有元素和文本节点),而在后一种情况下,仅保留文本节点。这种奇怪的行为可能与以下其他两个模板有关。不管我的具体模板是什么,我都想知道为什么这两个风格会导致不同的结果。 最佳答案 XPathif从输入返回原始节点,仍然附加到输入树中它们的原始上下文。choose版本返回新节点,它们是输入节点的副